package com.netease.service;

import com.netease.entity.Word;
import com.netease.pojo.RootInfo;
import com.netease.utils.PagedGridResult;

import java.text.ParseException;
import java.util.List;

/**
 * @projectName: modeling-dev
 * @package: com.netease
 * @className: RootInfoService
 * @author: aochong
 * @description: 词根信息服务层
 * @date: 2023/3/31 16:18
 * @version: 1.0
 */
public interface RootInfoService {
    /**
     * @param word:
     * @return void
     * @author aochong
     * @description 创建词根
     * @date 2023/3/31 16:28
     */
    public void createRoot(Word word) throws ParseException;

    /**
     * @param id:
     * @return void
     * @author aochong
     * @description 根据ID更新词根
     * @date 2023/3/31 16:21
     */
    public void updateRoot(int id);

    /**
     * @param rootInfo:
     * @return void
     * @author aochong
     * @description 更新词根
     * @date 2023/4/3 10:36
     */
    public void updateRoot(RootInfo rootInfo);

    /**
     * @param rootInfos:
     * @return void
     * @author aochong
     * @description 批量更新词根
     * @date 2023/4/10 10:18
     */
    public void batchUpdate(List<RootInfo> rootInfos);

    /**
     * @param id:
     * @return void
     * @author aochong
     * @description 删除词根
     * @date 2023/3/31 16:21
     */
    public void deleteRoot(int id);

    /**
     * @param word:
     * @return RootInfo
     * @author aochong
     * @description 查询单个词根
     * @date 2023/3/31 16:24
     */
    public RootInfo queryRoot(Word word);

    /**
     * @param word:
     * @return boolean
     * @author aochong
     * @description 查询词根是否存在
     * @date 2023/3/31 16:25
     */
    public boolean queryRootIsExist(Word word);

    /**
     * @param :
     * @return List<RootInfo>
     * @author aochong
     * @description 分页查询所有词根
     * @date 2023/3/31 16:26
     */
    public PagedGridResult queryPagedRoots(Integer page, Integer pageSize);
}
